#include <stdio.h>
#define SIZE 10

void input(int *number){
    int i;
    printf("input %d number:",SIZE);
    for (i=0;i<SIZE;i++)
        scanf("%d",number++);
}

void _min_max(int number[SIZE]){
    int i,*temp,*p=number;
    int *max=number+SIZE-1,*min=number;
    for (i=0;i<SIZE;++i,++p){
        if (*p<*min) min=p;
        if (*p>*max) max=p;
    }
    if (min>number) i=*min,*min=*number,*number=i;
    if ((max+SIZE!=min+1)&&(max<p)) i=*max,*max=*p,*p=i;
}

void min_max(int *number){
    int i;
    int *p,*max,*min;
    p=max=min=number;
    for (i=0;i<SIZE;++i,++p){
        if (*p<*min) min=p;
        if (*p>*max) max=p;
    }
    // printf("%d,%d",*max,*min);
    i=*number,*number=*min,*min=i;
    if (max==number) max=min;
    i=number[SIZE-1],number[SIZE-1]=*min,*min=i;
}

void output(int *number){
    int i;
    printf("after min max:");
    for (i=0;i<SIZE;i++)
        printf("%d ",*number++);
    printf("\n");
}

int main(){
    // 将最小值放到首，最大值放到尾
    int number[SIZE];
    input(number);
    min_max(number);
    output(number);
    return 0;
}